#ifndef __KET_TI2_H__
#define __KET_TI2_H__

#include"../Base/Concurrency/SpinLock.hpp"
#include<unordered_map>
#include<string>
#include"rapidjson/document.h"

namespace SC_SUN
{

    class MapApp;

    class KeTi2Mgr
    {
    
    public:

        struct ClInfo
        {
            std::string SAT_SN;
            double alpha;
            double beta;
        };

        struct Keti2Info
        {
            ClInfo info;
            std::string keti2C04;
            std::string reforbit;
        };

    protected:

        MapApp& mApp;                                               ///< mApp数据
        std::string mKeti2C04;                                      ///< c04文件路径，这个文件是一个很大的txt，推测为2000.1.1 ~ 2025.10.4日的星历数据
        std::unordered_map<std::string, ClInfo>   mCLinfos;         ///< 所有的cl文件管理
        MMF::SpinLock mMutex;                                       ///< 互斥锁

    public:

        KeTi2Mgr(MapApp& app);
        ~KeTi2Mgr();

        void LoadData();

        Keti2Info GetData(const std::string& satSN);
        std::string GetDataJson(const std::string& satSN);

    };

}
#endif